$(function () {
    //1.抽取变量
    var item_datagrid = $("#item_datagrid");
    var item_dialog = $("#item_dialog");
    var item_form = $("#item_form");
    var state_btn = $("#state_btn");

    item_datagrid.datagrid({
        url: '/expendItem/query',
        fit: true,
        fitColumns: true,
        toolbar: '#item_toolbar',
        pagination: true,
        rownumbers: true,
        striped: true,
        singleSelect: true,
        columns: [
            [
                {field: 'id', checkbox: true},
                {
                    field: 'expendItem', title: '支出分类', width: 100,
                    formatter: function (value, row, index) {
                        return row && row.expend ? row.expend.name : "";
                    }
                },
                {field: 'amount', title: '支出金额', width: 80},

                {field: 'spendTime', title: '支出时间', width: 80},
                {
                    field: 'spendUser', title: '支出人员', width: 80,
                    formatter: function (value, row, index) {
                        return row.spendUser ? row.spendUser.username : "";
                    }
                },
                {field: 'remark', title: '备注', width: 80},
            ]],
    });

    //弹框
    item_dialog.dialog({
        width: 300,
        height: 385,
        left: 650,
        top:50,
        buttons: '#form_btns',
        closed: true,
        onClose: function () {
            //清空表单
            item_form.form('clear');
        }
    })
    //上传弹窗
    $("#file_form").dialog({
        width: 200,
        height: 100,
        closed: true
    });

    //2.使用一个对象来统一管理事件的方法
    var methodObj = {

        //新增
        add: function () {

            //打开弹出框
            item_dialog.dialog('open');
            item_dialog.dialog('setTitle', '新增支出明细');
        },

        //删除
        delete: function () {
            //判断是否选择一条数据
            var row = item_datagrid.datagrid("getSelected");
            if (!row) {
                $.messager.alert("温馨提示", "请选择一条要删除的数据！", "warning");
                return;
            }
            //弹出确认框
            $.messager.confirm("温馨提示", "确认删除吗？", function (r) {
                if (r) {
                    //发送ajax请求
                    $.get("/expendItem/delete.do", {id: row.id}, function (data) {
                        if (data.success) {
                            $.messager.alert("温馨提示", "删除成功", "info", function () {
                                //调用方法查询金额
                                methodObj['allExpendAmount']();
                                //重新加载数据表格
                                item_datagrid.datagrid('reload');
                            });
                        } else {
                            $.messager.alert("温馨提示", data.msg, "error");
                        }
                    });
                }
            });
            //重新计算总金额
        },

        //刷新
        reload: function () {
            window.location.reload();
        },

        //编辑
        edit: function () {
            var row = item_datagrid.datagrid('getSelected');
            if (row == null) {
                $.messager.alert('温馨提示', '请选择一条明细数据!', 'warning');
                return;
            }
            //清空表单数据
            item_form.form("clear");

            //回显分类（要先把值赋给显示框，再使用下面的load）
            if (row.expend) {
                row["expend.id"] = row.expend.id;
            }
            //回显数据
            item_form.form('load', row);

            //打开弹出框
            item_dialog.dialog('open');
            //设置标题
            item_dialog.dialog('setTitle', '新增员工');
        },

        //保存
        save: function () {
            //提交表单
            item_form.form('submit', {
                url: '/expendItem/saveOrUpdate.do',
                onSubmit: function (param) {
                    //获取下拉框选中的所有数据
                    var expendId = $("#item-combobox").combobox('getValues');
                    console.log(expendId);
                    //添加分类的参数
                    //param["name"] = expendId;
                    param["expend.id"] = expendId;
                },
                success: function (data) {
                    data = $.parseJSON(data);
                    if (data.success) {
                        //提示用户操作结果
                        $.messager.alert('温馨提示', '保存成功!', 'info', function () {
                            methodObj.cancel();
                            //调用方法查询金额
                            methodObj['allExpendAmount']();
                            item_datagrid.datagrid('reload');
                        });
                    } else {
                        $.messager.alert('温馨提示', data.msg, 'error');
                    }
                }
            })
        },

        //取消
        cancel: function () {
            item_dialog.dialog('close');
        },

        //查询
        query: function () {
            //获取输入框的值
            var beginValue = $("#beginTime").datebox('getValue');
            var endValue = $("#endTime").datebox('getValue');
            console.log(beginValue);
            console.log(endValue);

            item_datagrid.datagrid('load', {
                beginTime: beginValue,
                endTime: endValue
            });
        },

        //导出
        exportFile: function () {
            window.location.href = "/expendItem/exportFile.do";
        },


        //总金额
        allExpendAmount: function () {
            $.get("/expendItem/selectTotalAmount.do",function (data) {
                $("#allExpendAmount").html(data);
            },"json");
        }
    }

    //调用方法查询金额
    methodObj['allExpendAmount']();

    //3.统一绑定事件
    $("a[data-cmd]").click(function () {
        var methodName = $(this).data("cmd");
        methodObj[methodName]();
    })

})



